package CRM;

import com.google.appengine.api.datastore.Key;
import java.util.ArrayList;
import javax.jdo.annotations.IdGeneratorStrategy;
import javax.jdo.annotations.IdentityType;
import javax.jdo.annotations.PersistenceCapable;
import javax.jdo.annotations.Persistent;
import javax.jdo.annotations.PrimaryKey;


/**
 * @version 0.1.2
 *
 */
@PersistenceCapable(identityType = IdentityType.APPLICATION)
public class Project
{
    /**
     * Contains unique id for Project
     */
    @PrimaryKey
    @Persistent(valueStrategy = IdGeneratorStrategy.IDENTITY)
    private Key key;

    /**
     * Contains title of Project
     */
    @Persistent
    private String title;

    /**
     * Contains descrption of Project
     */
    @Persistent
    private String description;

    /**
     * Contains company of Project
     */
    @Persistent
    private Company company;

    /**
     * Contains notes about Project
     */
    @Persistent
    private ArrayList<Note> notes;

    /**
     * Contains all tasks in the Project
     */
    @Persistent
    private ArrayList<Task> tasks;

    public Project(Key key, String title, String description, Company company, ArrayList<Note> notes, ArrayList<Task> tasks)
    {
        setKey(key);
        setTitle(title);
        setDescription(description);
        setCompany(company);
        setNotes(notes);
        setTasks(tasks);
    }

    public Company getCompany()
    {
        return company;
    }

    public void setCompany(Company company)
    {
        this.company = company;
    }

    public String getDescription()
    {
        return description;
    }

    public void setDescription(String description)
    {
        this.description = description;
    }

    public Key getKey()
    {
        return key;
    }

    public void setKey(Key key)
    {
        this.key = key;
    }

    public ArrayList<Note> getNotes()
    {
        return notes;
    }

    public void setNotes(ArrayList<Note> notes)
    {
        this.notes = notes;
    }

    public ArrayList<Task> getTasks()
    {
        return tasks;
    }

    public void setTasks(ArrayList<Task> tasks)
    {
        this.tasks = tasks;
    }

    public String getTitle()
    {
        return title;
    }

    public void setTitle(String title)
    {
        this.title = title;
    }


    


}
